<?php
// +----------------------------------------------------------------------
// | 海豚PHP框架 [ DolphinPHP ]
// +----------------------------------------------------------------------
// | 版权所有 2016~2019 广东卓锐软件有限公司 [ http://www.zrthink.com ]
// +----------------------------------------------------------------------
// | 官方网站: http://dolphinphp.com
// +----------------------------------------------------------------------

namespace app\configs\admin;

use app\admin\controller\Admin;
use think\Db;
use app\common\builder\ZBuilder;
/**
 * Group控制器
 * @package app\banner\admin
 */
class Group extends Admin
{
    /**
     * 首页
     * @author 蔡伟明 <314013107@qq.com>
     * @return mixed
     */

    public function index(){
        $map = $this->getMap();

        // 定义新增页面的字段
        $fields = [
            ['text', 'name', '群名称'],
            ['text', 'password', '群密码','6位数字或者英文'],
        ];
        // 定义编辑页面的字段
        $fields2 = [
            ['hidden', 'id'],
            ['text', 'name', '群名称'],
            ['text', 'password', '群密码','6位数字或者英文'],
        ];
        $btn_sound_view = [
            'title' => '群成员员列表',
            'icon'  => 'fa fa-fw fa-user',
            'href'  => url('user_list', ['id' => '__id__'])
        ];
        
        $a=new ZBuilder();

        $data_list = db::name('group')
            ->where($map)
            ->order("id desc")
            ->paginate();

        // 使用ZBuilder快速创建数据表格
        return ZBuilder::make('table')
            ->setPageTitle('群组列表') // 设置页面标题
            ->setTableName('group') // 设置数据表名
            ->hideCheckbox()
            ->setSearch(['title' => '群名称']) // 设置搜索参数
            ->addColumns([ // 批量添加列
                ['name', '群名称','text.edit'],
                ['password','群密码(6位数字或者英文)','text.edit'],
                ['point','群组积分'],
                ['right_button', '操作', 'btn']
            ])
            ->autoAdd($fields, 'group',  true,'create_time') // 添加新增按钮
            ->autoEdit($fields2, 'group', true) // 添加编辑按钮
            ->addRightButtons('delete') // 批量添加右侧按钮
            ->setRowList($data_list) // 设置表格数据
            ->addRightButton('btn_sound_view',$btn_sound_view,1) // 批量添加右侧按钮1
            ->setColumnWidth(["title"=>150])
            ->fetch(); // 渲染页面
    }
    
    
    
    //群人员列表
    public function user_list($id){
        if(empty($id)){
            return $this->error("请选择群组");
        }
        $data = Db::name('group_user')
        ->alias("a")
        ->join("user b","a.user_id=b.id")
        ->where("a.group_id",$id)
        ->field("a.*,b.username,b.nickname")
        ->select();
       
        return ZBuilder::make('table')
        ->setPageTitle('群成员列表')
        ->setPrimaryKey('id')	//设置主键
        ->setTableName('group_user')
        ->setSearch(['b.username' => '姓名','b.nickname' => '微信昵称']) // 设置搜索参数
        ->addColumns([ // 批量添加列
            ['username', '姓名'],
            ['nickname', '微信昵称'],
            ['createAt', '入群时间'],
            ['right_button', '操作', 'btn']
        ])
        
        ->setRowList($data) // 设置表格数据
        //->addTopButton('btn_add', $btn_add) // 添加顶部按钮
        ->addRightButtons('delete') // 批量添加右侧按钮
        //->addRightButton('btn_update', $btn_update) // 批量添加右侧按钮
        ->fetch();
    }
}
